// Learn cc.Class:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/class.html
//  - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/class.html
// Learn Attribute:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
//  - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
//  - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/life-cycle-callbacks.html

const Hand = require('HandBar');
const Ball = require('PinBall');
const Spring = require('Spring');
cc.Class({
    extends: cc.Component,

    properties: {
    
        hand_left: {
            default: null,
            type: Hand
        },
        hand_right: {
            default: null,
            type: Hand
        },
        spring: {
            default: null,
            type: Spring
        },
        ball: {
            default: null,
            type: Ball
        },
    },

    // LIFE-CYCLE CALLBACKS:

    onLoad () {
    	cc.log("ctrl onLoad");
    	//--碰撞系统
  //   	this.collision = cc.director.getCollisionManager();
  //   	this.collision.enabled = true;
		// this.collision.enabledDebugDraw = true;
		//--物理系统
		this.physics = cc.director.getPhysicsManager();
		this.physics.enabled = true;
		// this.physics.debugDrawFlags = cc.PhysicsManager.DrawBits.e_aabbBit |
	    // cc.PhysicsManager.DrawBits.e_pairBit |
	    // cc.PhysicsManager.DrawBits.e_centerOfMassBit |
	    // cc.PhysicsManager.DrawBits.e_jointBit |
	    // cc.PhysicsManager.DrawBits.e_shapeBit
	    // ;
	    // this.physics.gravity = cc.v2(0, -100);
		// Canvas
		// cc._renderType === cc.game.RENDER_TYPE_CANVAS
		// WebGL
		// cc._renderType === cc.game.RENDER_TYPE_WEBGL
		


        this.node.on(cc.Node.EventType.TOUCH_START, function(event) {
          
            var temp = event.getLocation();
            cc.log("GAME TOUCH_START :" + temp);
            let  windowSize=cc.winSize;
            cc.log("width="+windowSize.width+",height="+windowSize.height);

            if(temp.x > windowSize.width/2){
                if(this.hand_right){
                    this.hand_right.startRoate11();
                } 
            }else {
                if(this.hand_left){
                    this.hand_left.startRoate11();
                }  
            }
        }, this);
        
        this.node.on(cc.Node.EventType.TOUCH_MOVE, function(event) {
            var temp = event.getLocation();
            cc.log("GAME TOUCH_MOVE :" + temp);

            let  windowSize=cc.winSize;
            cc.log("width="+windowSize.width+",height="+windowSize.height);

            if(temp.x > windowSize.width/2){
                if(this.hand_right){
                    this.hand_right.startRoate11();
                } 
            }else {
                if(this.hand_left){
                    this.hand_left.startRoate11();
                }  
            }
        }, this);
      
        this.node.on(cc.Node.EventType.TOUCH_END, function(event) {
            cc.log("GAME TOUCH_END");
           
            var temp = event.getLocation();
            cc.log("GAME TOUCH_MOVE :" + temp);

            let  windowSize=cc.winSize;
            cc.log("width="+windowSize.width+",height="+windowSize.height);
            if(temp.x > windowSize.width/2){
                if(this.hand_right){
                    this.hand_right.resetRoate();
                } 
            }else {
                if(this.hand_left){
                    this.hand_left.resetRoate();
                }  
            }
        }, this);
        this.node.on(cc.Node.EventType.TOUCH_CANCEL, function(event) {
            cc.log("GAME TOUCH_CANCEL");
         
        }, this);
        this.node.on(cc.Node.EventType.MOUSE_DOWN, function(event) {
            cc.log("GAME MOUSE_DOWN");
        }, this);

        cc.log("ctrl onload end");
    },

    start () {
    	cc.log("ctrl start");
        // this.ball.init(this);
    },

    update (dt) {
        // cc.log("i'am ctrl="+dt);
    },
});